스프링 타입 컨버터
NOTE
@RequestParam/@ModelAttribute/@PathVariable바인딩 시 동작하는 스프링 타입 컨버터(Converter,ConversionService) 정리
NOTE
원문을 AI가 검토·보강함(사실 확인 권장).
실행 환경
버전 명시 없음 —
Converter<S, T>,ConversionService,WebMvcConfigurer.addFormatters()등 Spring 표준 API만 사용되어 특정 버전은 확정하기 어렵다.
🧱 기술 스택
- Spring
Converter<S, T>인터페이스,ConversionService WebMvcConfigurer.addFormatters()(컨버터/포매터 등록)- Thymeleaf
⚙️ 구현
- @RequestParam, @ModelAttribute, @PathVariable 을 할때에 타입컨버터가 작동
- @Value 등으로 YML처리 가능
- 스프링은 “컨버터 인터페이스”(
Converter<S, T>)를 제공해서 확장이 가능하게 해준다 - WebConfigurer(
WebMvcConfigurer)에서 등록 - ISP 원칙이 잘 지켜져 있음
- Converter 등록 과 Converter 사용 분리
- 등록
- Registry (
FormatterRegistry)
- Registry (
- 사용
- conversionService (
ConversionService)
- conversionService (
- 등록
- Converter 등록 과 Converter 사용 분리
- thymeleaf
- converter를 적용시키기 위해서는 괄호 ”{}“를 두번씩 써줘야함
- ex)
${{ipPort}}
- Formatter
- 객체 ↔ 문자 + locale (문자열 ↔ Date/Number 등 로케일이 관여하는 변환은
Converter대신Formatter사용)
- 객체 ↔ 문자 + locale (문자열 ↔ Date/Number 등 로케일이 관여하는 변환은